package req

// ClientLoginReq 用户登录参数
type ClientLoginReq struct {
	Code     string `json:"code" binding:"required,min=10,max=128"` // 小程序授权码
	SourceId string `json:"source_id" form:"req_id"`                // 渠道编码
	Provider string `json:"brand" binding:"required"`               // 手机设备品牌
	Model    string `json:"model" binding:"required"`               // 设备型号
}

// ClientLogoutReq 登录退出参数
type ClientLogoutReq struct {
	Token string `header:"token" binding:"required"` // 用户认证令牌
}

// SeriesReq 剧集参数
type SeriesReq struct {
	DramaId string `json:"drama_id" binding:"required"` // 剧集ID
}

// DramaLookReq 观看剧集请求参数
type DramaLookReq struct {
	DramaId  string `json:"drama_id" binding:"required"`  // 剧集ID
	SeriesId string `json:"series_id" binding:"required"` // 分集ID
}

// PaySendReq 发起支付请求参数
type PaySendReq struct {
	GearId   string `json:"gear_id" binding:"required"`   // 道具ID
	DramaId  string `json:"drama_id" binding:"required"`  // 剧集ID
	SeriesId string `json:"series_id" binding:"required"` // 分集ID
}

// PayNotifyReq 支付回调通知参数
type PayNotifyReq struct {
	MerAccount string `form:"merAccount" binding:"required"` // 商户账号
	Data       string `form:"data" binding:"required"`       // 加密数据
	OrderId    string `form:"orderId" binding:"required"`    // 订单ID
	Channel    string `form:"-"`                             // 从路由参数获取的渠道信息
}

// OrderIsPayReq 查询订单是否已支付参数
type OrderIsPayReq struct {
	OrderId string `json:"orderId" binding:"required"` // 订单ID
}

// ListeningOppoReq OPPO广告监听请求参数
type ListeningOppoReq struct {
	Os         string `json:"os" form:"os"`                                  // 操作系统
	OsVersion  string `json:"os_version" form:"os_version"`                  // 操作系统版本
	Model      string `json:"model" form:"model"`                            // 设备型号
	Lang       string `json:"lang" form:"lang"`                              // 语言
	Country    string `json:"country" form:"country"`                        // 国家
	Width      string `json:"width" form:"width"`                            // 屏幕宽度
	Height     string `json:"height" form:"height"`                          // 屏幕高度
	Pkg        string `json:"pkg" form:"pkg"`                                // 包名
	AppVersion string `json:"app_version" form:"app_version"`                // 应用版本
	UserAgent  string `json:"useragent" form:"useragent"`                    // 用户代理
	Referer    string `json:"referer" form:"referer"`                        // 来源页面
	IP         string `json:"ip" form:"ip"`                                  // IP地址
	NetType    string `json:"net_type" form:"net_type"`                      // 网络类型
	Carrier    string `json:"carrier" form:"carrier"`                        // 运营商
	Progress   string `json:"progress" form:"progress"`                      // 进度
	IMEI       string `json:"imei" form:"imei"`                              // 设备标识
	OAID       string `json:"oaid" form:"oaid"`                              // 广告标识
	AdID       string `json:"ad_id" form:"ad_id"`                            // 广告ID
	AdName     string `json:"ad_name" form:"ad_name"`                        // 广告名称
	ReqID      string `json:"req_id" form:"req_id"`                          // 请求ID
	SpreadId   string `json:"spread_id" form:"spread_id" binding:"required"` // 推广ID
}

// ListeningOceanengineReq
type ListeningOceanengineReq struct {
	Aid           string `json:"aid" form:"aid"`                                // AID
	AidName       string `json:"aid_name" form:"aid_name"`                      // AID名称
	Cid           string `json:"cid" form:"cid"`                                // CID
	CidName       string `json:"cid_name" form:"cid_name"`                      // CID名称
	CampaignId    string `json:"campaign_id" form:"campaign_id"`                // 活动ID
	CampaignName  string `json:"campaign_name" form:"campaign_name"`            // 活动名称
	Ctype         string `json:"ctype" form:"ctype"`                            // CTYPE
	AdvertiserId  string `json:"advertiser_id" form:"advertiser_id"`            // 广告主ID
	Csite         string `json:"csite" form:"csite"`                            // CSITE
	ConvertId     string `json:"convert_id" form:"convert_id"`                  // 转化ID
	RequestId     string `json:"request_id" form:"request_id"`                  // 请求ID
	Sl            string `json:"sl" form:"sl"`                                  // SL
	Os            string `json:"os" form:"os"`                                  // 操作系统
	IP            string `json:"ip" form:"ip"`                                  // IP地址
	Ua            string `json:"ua" form:"ua"`                                  // 用户代理
	Ts            string `json:"ts" form:"ts"`                                  // 时间戳
	CallbackParam string `json:"callback_param" form:"callback_param"`          // 回调参数
	CallbackUrl   string `json:"callback_url" form:"callback_url"`              // 回调URL
	Model         string `json:"model" form:"model"`                            // 设备型号
	UnionSite     string `json:"union_site" form:"union_site"`                  // 联盟站点
	PromotionId   string `json:"promotion_id" form:"promotion_id"`              // 推广ID
	ProjectId     string `json:"project_id" form:"project_id"`                  // 项目ID
	PromotionName string `json:"promotion_name" form:"promotion_name"`          // 推广名称
	ProjectName   string `json:"project_name" form:"project_name"`              // 项目名称
	Mid1          string `json:"mid1" form:"mid1"`                              // MID1
	Mid2          string `json:"mid2" form:"mid2"`                              // MID2
	Mid3          string `json:"mid3" form:"mid3"`                              // MID3
	Mid4          string `json:"mid4" form:"mid4"`                              // MID4
	Mid5          string `json:"mid5" form:"mid5"`                              // MID5
	Mid6          string `json:"mid6" form:"mid6"`                              // MID6
	SpreadId      string `json:"spread_id" form:"spread_id" binding:"required"` // 推广ID
}
